package com.hyl.test;

import com.dao.DvdInfoDao;
import com.dao.DvdInfoDaoImpl;
import com.entity.DvdInfo;
import org.junit.Test;

import java.util.List;
import java.util.Scanner;

/**
 * @Description TODO
 * @Author hyl
 * @Date 2022/4/22 9:36
 **/
public class DvdMain {
	Scanner input = new Scanner(System.in);
	DvdInfoDao dao = new DvdInfoDaoImpl();


	@Test
	public void menu(){
		System.out.println("----迷你DVD管理器----");
		do {
			System.out.println("1)查看DVD信息\n" +
					"2)根据名称查询DVD\n" +
					"3)新增DVD信息\n" +
					"4)删除DVD\n" +
					"5)借出DVD\n" +
					"6)退出系统\n");
			System.out.println("请选择：");
			int type = input.nextInt();
			switch (type) {
				case 1://查看DVD信息
					show();
					break;
				case 2:
					showByName();
					break;
				case 3:
					add();
					break;
				case 4:
					del();
					break;
				case 5:
					update();
					break;
				case 6:
					System.out.println("退出系统");
					break;
			}
			if(type == 6){
				break;//循环停止
			}
		}while (1==1);
	}

	/**
	 * 查看DVD信息
	 */
	public void show(){
		System.out.println("-查看DVD信息-");
		List<DvdInfo> list = dao.findAll();
		System.out.println("序号 状态 名称 借出日期 数量");
		//循环遍历集合中的数据
		for (DvdInfo info : list){
			System.out.println(info.getId()+" "
				+info.getState()+" "
				+info.getName()+" "
				+info.getBorrowDate()+" "
				+info.getBorrowCount()+" ");
		}
		System.out.println();
	}

	/**
	 * 根据名称，获取数据
	 */
	public void showByName(){
		System.out.println("-根据名称查询DVD-");
		System.out.println("请输入据dvd名称");
		String name = input.next();
		List<DvdInfo> list = dao.findByName(name);
		System.out.println("序号 状态 名称 借出日期");
		//循环遍历集合中的数据
		for (DvdInfo info : list){
			System.out.println(info.getId()+" "
					+info.getState()+" "
					+info.getName()+" "
					+info.getBorrowDate()+" ");
		}
		System.out.println();
	}

	//添加
	public void add(){
		System.out.println("-添加-");
		System.out.println("请输入新dvd的名称：");
		String name = input.next();

		//创建dvd
		DvdInfo info = new DvdInfo(null, "未借出", name, null, 0);
		int ret = dao.add(info);
		if (ret >0){
			System.out.println("添加成功");
		}

	}

	/**
	 * 借出DVD
	 */
	public void update(){
		System.out.println("-借出DVD-");
		System.out.println("请输入dvd的编号：");
		int id = input.nextInt();
		System.out.println("请输入借出的时间：");
		String time = input.next();

		dao.modify(id, time);
	}

	/**
	 * 删除dvd
	 */
	public void del(){
		System.out.println("-删除-");
		System.out.println("请输入dvd编号：");
		int id = input.nextInt();
		int ret = dao.delById(id); //调用删除的方法
		if (ret>0){
			System.out.println("删除成功");
		}else{
			System.out.println("此dvd不存在");
		}
	}


	public static void main(String[] args) {
		DvdMain tmp = new DvdMain();
		tmp.menu();
	}
}
